#include"Mario.h"

Mario::Mario():Sprite(){
	
}

Mario::~Mario(){
}

void Mario::move(){
	Sprite::move();	
}

void Mario::animate(){
	if(frametimer > 0 ){
		if(timeGetTime() > (DWORD)(framestart + frametimer)){
			framestart = timeGetTime();

			curframe += animdir;

			if(getDirectionX() > 0){
				if(curframe > 3) curframe = 0;		
			}
			if(getDirectionX() < 0){
				if(curframe < 6 ) curframe = totalframe - 1;		
			}	
		}
	}
}

void Mario::draw(){
	Sprite::draw();
}

void Mario::keyLeft(){
	if( getDirectionX() == 0 ){
		setCurFrame( getTotalFrame() - 1);
		setAnimdir( -1 );	
		setDirectionX( -1 );
	}else{
		setAnimdir( -1 );	
		setDirectionX( -1 );
	}
}

void Mario::keyRight(){
	if( getDirectionX() == 0){
		setCurFrame( 0 );
		setAnimdir ( 1 );
		setDirectionX( 1);
	}else{
		setAnimdir ( 1 );
		setDirectionX( 1);
	}
}

void Mario::keyUp(){
	if(getCurFrame() == 0 ){	
		setCurFrame( 4 );
		setAnimdir ( 0 );
		setDirectionX( 0);
	}
	if(getCurFrame() == totalframe - 1){
		setCurFrame( 5 );
		setAnimdir ( 0 );
		setDirectionX( 0);
	}		
}

void Mario::keyRelease(){
	if(getDirectionX() > 0 || getCurFrame() == 4){
		setCurFrame( 0 );
		setAnimdir ( 0 );
		setDirectionX( 0);
	}
	if(getDirectionX() < 0 || getCurFrame() == 5){
		setCurFrame( totalframe - 1 );
		setAnimdir ( 0 );
		setDirectionX( 0);
	}
}